Next | Prev | Up | Top | Contents | Index
Host Adapter Concepts
IRIX 6.2 permits a total of 10 unique host adapter drivers--five supplied by Silicon Graphics and up to five from other vendors. Each host adapter is customized to manage one type of adapter hardware. Each adapter driver has an adapter type number that is declared in sys/scsi.h. The constant names, are listed in Table 15-1.
Host Adapter Driver Classes
Driver Constant | Driver Description |
---|
SCSIDRIVER_NULL | No driver exists; invalid adapter number or nonexistent adapter. |
SCSIDRIVER_WD93 | The wd93 driver, for adapters based on the Western Digital WD93 chip set. |
SCSIDRIVER_JAG | The jag driver, for adapters based on the VME-SCSI bridge used in the Challenge and Onyx systems. |
SCSIDRIVER_WD95 | The wd95 driver, for adapters based on the Western Digital WD95 chip set. |
SCSIDRIVER_SCIP | The scip driver, for adapters based on the augmented WD95 chip set used in Challenge and Onyx systems. |
SCSIDRIVER_QL | The ql driver, for adapters based on the QLogic chip set. |
SCSIDRIVER_3RD_PARTY_START | First number available for OEM host adapter drivers. |
SCSIDRIVER_3RD_PARTY_END | Last number available for OEM host adapter drivers. |
Caution: The constant names listed in Table 15-1 compile to different values in different hardware systems. For this reason, you should avoid using these names in your driver; if you use one, your driver object file has to be recompiled for each CPU type.
The lboot command loads a host adapter driver for each unique type of adapter in the system. lboot is directed by VECTOR statements in the /var/sysgen/system/irix.sm file (see "Configuring a Kernel").
You can examine VECTOR lines in /var/sysgen/system/irix.sm to see how many adapters your system has, and which of the host adapter drivers listed in Table 15-1 is loaded for each one.
The adapter number, the target number, and the logical unit number are important parameters to all the functions of the host adapter driver.
Target Numbers
The purpose of a host adapter driver is to carry communications between a device driver and a target. A target is a device on the SCSI chain that responds to SCSI commands. A target can be a single device, or it can be a controller that in turn manages other devices.
A target is identified by a number between 0 and 15. Normally this number is configured into the device with switches or jumpers. The SCSI controller, usually target number 0 but 7 for the jag controller, cannot be used as a target.
The target number must be conveyed to the device driver somehow. The target numbers of Silicon Graphics disk and tape devices are passed in the device minor number.
Not all adapters support the range of 0-15 targets. The Jaguar VME-SCSI unit contains two independent adapters, each supporting target numbers 0-7.
Logical Unit Numbers (LUNs)
When the target is a controller, it manages one or more sub-devices, each one a logical unit of that target. The logical unit being addressed is identified by a logical unit number (LUN). When the target is a single device, its LUN is 0.
Next | Prev | Up | Top | Contents | Index